package com.itheima.demo; // package关键字：声明当前类所在的包，com.itheima.demo是包的完整路径，用于组织代码结构，避免类名冲突

import lombok.AllArgsConstructor; // 导入Lombok库的AllArgsConstructor注解，用于自动生成全参构造方法
import lombok.Data; // 导入Lombok库的Data注解，用于自动生成getter、setter、toString等常用方法
import lombok.NoArgsConstructor; // 导入Lombok库的NoArgsConstructor注解，用于自动生成无参构造方法

// 家电 // 这是一个注释，说明这个类表示家电
@Data // Lombok注解，自动生成getter、setter、equals、hashCode和toString方法
@NoArgsConstructor // Lombok注解，自动生成无参数的构造方法
@AllArgsConstructor // Lombok注解，自动生成包含所有成员变量的构造方法
public class JD implements Switch{ // public：访问修饰符；class：定义类的关键字；JD：类名；implements：关键字，表示实现Switch接口，需要重写接口中的抽象方法
    private String name; // private：访问修饰符，表示这个变量只能在当前类中访问；String：数据类型；name：变量名，用于存储家电名称
    // 状态：开或者关。 // 注释说明status变量的含义
    private boolean status; // false 默认是关闭。 // private：访问修饰符；boolean：布尔数据类型（true/false）；status：变量名，false表示关闭状态

    @Override // @Override是一个注解，标记这个方法是重写接口中的方法，编译器会检查是否正确重写
    public void press() { // public：访问修饰符；void：返回值类型；press()：方法名，与接口中定义的方法名完全一致
        // 控制当前设备开和关 // 注释说明方法的功能
        status = !status; // 取反操作：如果status是true则变为false，如果是false则变为true，实现开关切换功能
    } // press方法结束标记
} // JD类结束标记
